import java.util.HashMap;

//两数之和
//https://leetcode.cn/problems/two-sum/
public class Test {
    public static void main(String[] args) {
        //
    }
}


class Solution {//结合  暴力解法的从后往前找  的优化
    public int[] twoSum(int[] nums, int target) {
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();//用于查找
        //HashMap<Integer, Integer> ret = new HashMap<Integer, Integer>();//用于返回（存储目标数据）
        int[] ret = new int[2];
        for(int i = 0; i < nums.length; i++){
            if(map.containsKey(target - nums[i])){
                ret[0] = map.get(target - nums[i]);
                ret[1] = i;
                return ret;
            }
            map.put(nums[i], i);
        }
        return ret;
    }
}